<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script type="text/javascript" src="./js/vue.js"></script>
</head>
<!-- 
 我们在输入框中输入数据之后，切换到邮箱选项中，发现输入的用户名还在

 因为Vue在进行DOM渲染时，出于性能考虑，会尽可能的复用已经存在的元素，而不会重新创建元素

 也就是它复用了input标签，并没有重新创建一个新的标签
 
 我们可以给input标签添加key属性解决，如果key属性值不同则不会复用
 -->

<body>
  <div id="app">
    <span v-if="isTrue">
      <label for="username">用户账号</label>
      <input id="username" placeholder="用户账号" key="username">
    </span>

    <span v-else>
      <label for="email">用户邮箱</label>
      <input id="email" placeholder="用户邮箱" key="email">
    </span>
    <button type="button" @click="isTrue=!isTrue">切换</button>
  </div>
</body>
<script>
  const app = new Vue({
    el: '#app',
    data: {
      isTrue: true
    }
  })
</script>

</html>